package cn.xlbweb.cli.service;

import cn.xlbweb.cli.model.User;
import cn.xlbweb.cli.common.ServerResponse;
import cn.xlbweb.cli.common.TableResponse;
import cn.xlbweb.cli.pojo.dto.UserInsertDTO;
import cn.xlbweb.cli.pojo.dto.UserUpdateDTO;
import cn.xlbweb.cli.pojo.dto.UsersListDTO;

/**
 * @author: bobi
 * @date: 2019-09-15 14:15
 * @description:
 */
public interface IUserService {

    /**
     * 根据账号查询用户信息
     *
     * @param username
     * @return
     */
    User getUserByUsername(String username);

    /**
     * 分页模糊查询用户
     *
     * @param usersListDTO
     * @param pageNum
     * @param pageSize
     * @return
     */
    TableResponse listUsers(UsersListDTO usersListDTO, int pageNum, int pageSize);

    /**
     * 添加用户
     *
     * @param userInsertDTO
     * @return
     */
    ServerResponse insertUser(UserInsertDTO userInsertDTO);

    /**
     * 更新用户
     *
     * @param userUpdateDTO
     * @return
     */
    ServerResponse updateUser(UserUpdateDTO userUpdateDTO);

    /**
     * 删除用户
     *
     * @param ids
     * @return
     */
    ServerResponse deleteUser(String ids);
}
